安装环境
安装Node.js
从Node.js官网按其提示安装,安装成功后如下图:
安装成功的Node.js和npm都被安装到了/usr/local/bin目录下,可对其进行测试,看Node.js和npm是否可用:
查看Node.js的版本号:
Node.js成功安装,可看到如下类似的信息:
查看npm的版本号:
npm成功安装,可看到如下类似的信息:
安装Git
Xcode自带Git,查看Git版本号:
本地已安装git,可看到如下类似的信息:
1 2
| $ git version git version 2.5.4 (Apple Git-61)
|
安装设置Hexo
安装hexo
1
| sudo npm install -g hexo
|
查看hexo版本号
创建项目
进入目录(Mac版本hexo文件需搭建在user同一层,通过“工具栏”前往“上一层”进行访问)
初始化项目
安装依赖包
启动服务(以后所有命令均在hexo文件夹下运行)
用浏览器打开 http://localhost:4000/ 或者 http://127.0.0.1:4000/ 即可进行预览
推荐使用Chrome浏览器获得最佳效果
按 Ctrl+C 停止本地预览
博客部署到github
1 在终端cd进入hexo文件夹,输入以下命令安装git部署器:
1
| sudo npm install hexo-deployer-git --save
|
2 修改根目录下的站点配置文件_config.yml,博主直接使用sublime打开hexo文件夹下的_config.yml文件,在文件末尾修改如下内容,然后保存:
1 2 3 4
| deploy: type: git repo: https://github.com/maoqiq/maoqiq.github.io.git branch: master
|
注:itwanggj
改为your_username
,即你的github博客仓库的网址,如下图所示:
注:在配置所有配置文件_config.yml时,所有:
冒号后都要加一个”空格”
3 在hexo目录下,生成静态页面:
4 执行部署命令,如果没有关联github,执行时终端会提示输入github的用户名和密码,输入后等待执行成功:
正在执行hexo deploy
中的终端如下图所示:
hexo deploy
命令执行成功后,在浏览器使用网址https://itwanggj.github.io/打开页面,与本地预览的效果相同,则部署成功,成功页面如下图所示:
使用
目录结构
1 2 3 4 5 6 7 8 9 10 11
| . ├── .deploy ├── node_modules ├── public ├── scaffolds ├── source | ├── _drafts | └── _posts ├── themes ├── _config.yml └── package.json
|
全局配置(_config.yml)
注:全局配置文件即为hexo根目录的_config.yml(要区别于主题文件中的_config.yml)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| title: GuojunWang's Blog #标题 subtitle: 王国军博客 #副标题 description: GuojunWang's blog author: 王国军 email: language: zh-CN url: https://itwanggj.github.io/ root: / permalink: :year/:month/:day/:title/ tag_dir: tags archive_dir: archives category_dir: categories code_dir: downloads/code permalink_defaults: source_dir: source public_dir: public new_post_name: :title.md default_layout: post titlecase: false external_link: true filename_case: 0 render_drafts: false post_asset_folder: false relative_link: false highlight: enable: true line_number: true tab_replace: default_category: uncategorized category_map: tag_map: 2: 开启分页 1: 禁用分页 0: 全部禁用 archive: 2 category: 2 tag: 2 port: 4000 server_ip: localhost logger: false logger_format: dev date_format: YYYY-MM-DD time_format: H:mm:ss per_page: 10 pagination_dir: page disqus_shortname: theme: landscape-plus exclude_generator: plugins: - hexo-generator-feed - hexo-generator-sitemap deploy: type: git repo: https://github.com/itwanggj/itwanggj.github.io.git
|
命令行的使用
常用命令行
1 2 3 4 5 6 7 8
| hexo help hexo init hexo new "postName" hexo new page "pageName" hexo generate hexo server hexo deploy hexo clean
|
复合命令
1 2
| hexo deploy -g hexo server -g
|
命令简写
1 2 3 4
| hexo n == hexo new hexo g == hexo generate hexo s == hexo server hexo d == hexo deploy
|
安装插件命令
1 2 3
| npm install <plugin-name> --save npm update npm uninstall <plugin-name>
|
安装主题,为主题的 git 仓库,为要存放在本地的目录名
1
| git clone <repository> themes/<theme-name>
|
编辑文章
新建文章
在 _posts 目录下会生成文件标题.md
1 2 3 4 5 6 7 8 9
| title: 标题 date: 2014-11-11 11:11:11 tags: - 标签1 - 标签2 - 标签3 categories: [分类1,分类2,分类3] --- 正文,使用Markdown语法书写
|
注:编辑完之后进行保存,hexo server进行预览
发布
以发布到 Github 为例
编辑全局配置文件 _config.yml 中的 deploy 部分,itwanggj为用户名
1 2 3 4
| deploy: type: git repo: https://github.com/itwanggj/itwanggj.github.io.git branch: master
|
或者
1 2 3 4
| deploy: type: git repository: git@github.com:itwanggj/itwanggj.github.com.git branch: master
|
部署
如果出现以下提示,说明部署成功
1
| [info] Deploy done: github
|
博客优化
配置主题
下载主题
1
| git clone <repository> themes/<theme-name>
|
也可以手动下载后解压到 themes 目录
在全局配置文件 _config.yml 中 theme 一行改成想要的主题
主题目录结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| . ├── languages | ├── default.yml | └── zh-CN.yml ├── layout | ├── _partial | └── _widget ├── script ├── source | ├── css | | ├── _base | | ├── _partial | | ├── fonts | | ├── images | | └── style.styl | ├── fancybox | └── js ├── _config.yml └── README.md
|
以下是主题 landscape-plus 的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| menu: Home: / Archives: /archives About: /about rss: /atom.xml excerpt_link: 阅读全文 fancybox: true sidebar: right widgets: - weibo - recent_posts - recent_comments - recent_visitors - archive - category - tag - tagcloud links: Hexo: http://hexo.io google_analytics: UA-xxxxxxxx-1 favicon: /favicon.ico twitter: itwanggj google_plus: fb_admins: fb_app_id: duoshuo_shortname: baidushare: true
|
博主使用的是paperbox主题,以下是paperbox主题的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| menu: Home: / Archives: /archives About: /about rss: /atom.xml github: https://github.com/itwanggj logo_title: 前端 blog_title: Guojun Wang's Blog # Content excerpt_link: Read More fancybox: true mathjax: false # Sidebar sidebar: right widgets: - recent_posts - tag - archive - tagcloud - links - categories # Miscellaneous wx_block: false google_analytics: favicon: favicon.png twitter: google_plus: fb_admins: fb_app_id: # Duoshuo duoshuo_shortname: itwanggj duoshuo_share: true # Swiftype Search swiftype_key:
|
评论
在 Disqus官网 申请新网站的 shortname
配置 _config.yml 文件
1
| disqus_shortname: xxxxxxxx
|
替换为多说,landscape-plus 已经配置好了多说,填写duoshuo_shortname即可
安装插件
1
| npm install hexo-generator-feed
|
全局配置文件开启插件
1 2
| plugins: - hexo-generator-feed
|
主题配置文件添加入口
浏览http://localhost:4000/atom.xml查看是否生效
Sitemap 网站地图
安装插件
1
| npm install hexo-generator-sitemap
|
开启插件
1 2
| plugins: - hexo-generator-sitemap
|
浏览http://localhost:4000/atom.xml查看是否生效
文章摘要
在摘要内容后面插入
可以在主题的配置文件中设置要显示的文字
图片显示
把图片放到 source/images 目录下
自定义页面
以关于我的页面为例
编辑 source/about/index.md:
1 2 3 4
| title: About date: 2016-02-01 11:11:11 --- About Me
|
在主题的配置文件里添加入口
添加小图标
将 favicon.ico 文件放在 source 目录下
配置 landscape-plus 主题里的 _config.yml
添加”fork me on github”
官方教程
将代码插入到 layout.ejs